package aop.proxy.jdkProxy;

import lombok.AllArgsConstructor;
import lombok.Data;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;

/**
 * @author： pang-yun
 * @date： 2021-12-01 20:34
 * 功能目的 ：用于  代理对象 实现 InvocationHandler
 */
@Data
@AllArgsConstructor
public class AProxy implements InvocationHandler {

    private A a;

    @Override
    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
        System.out.println("invoke之前");
//        a.print();
        Object invoke = method.invoke(a, args);
        System.out.println("invoke之后");
        return invoke;
    }
}
